package com.itheima.d1_polymorphism.test;

public class Task {

    public static void main(String[] args) {
        test(new Animal());
        test(new Chicken());
        test(new Dog());
    }

    /**
     * 请实现test方法，接收一个Animal类型的参数
     *
     * 先调用Animal的makeSound方法
     * 如果参数是Dog类型，则调用其rollOver方法
     * 如果参数是Chicken类型，则调用其layEgg方法
     * @param animal 传入的Animal或其子类型的参数
     */
    public static void test(Animal animal) {
//        Animal animal1 = new Animal();
        animal.makeSound();

        if (animal instanceof Dog) {
            Dog dog = (Dog) animal;
//            dog.makeSound();
            dog.rollOver();
        }

        if (animal instanceof Chicken) {
            Chicken chicken = (Chicken) animal;
//            chicken.makeSound();
            chicken.layEgg();
        }
    }

}
